var express = require('express');
var router = express.Router();
//0. 启动 mongod 服务
//1. 安装两个工具包
//2. 导入 session 和 mongo 操作的包
const session = require("express-session"); // session 操作
const MongoStore = require('connect-mongo');// session 存储

//3. 设置 session 的中间件
router.use(session({  
  name: 'sid',   //设置cookie的name，默认值是：connect.sid
  secret: 'atguigu', //参与加密的字符串（又称签名）
  saveUninitialized: false, //是否为每次请求都设置一个cookie用来存储session的id
  resave: true,  //是否在每次请求时重新保存session
  store: MongoStore.create({
    mongoUrl: 'mongodb://127.0.0.1:27017/project' //数据库的连接配置
  }),
  cookie: {
    httpOnly: true, // 开启后前端无法通过 JS 操作
    maxAge: 1000 * 300 // 这一条 是控制 sessionID 的过期时间的！！！
  },
}));

//登录页面
router.get('/login', function(req, res, next) {
  res.render('login');
});

//登录检测  admin   admin
router.post('/login', function(req, res, next) {
  //判断用户输入的内容是否正确
  if(req.body.username === 'admin' && req.body.password==='admin'){
    //为当前用户设置 session 信息
    req.session.username = 'admin';
    return res.send('登录成功');
  }
  //获取请求体数据
  res.send('用户名或密码错误~~');
});

//购物车
router.get('/cart', (req,res) => {
  if(!req.session.username){
    return res.redirect('/login');
  }
  res.send('购物车');
});

//退出登录
router.get('/logout', (req, res) => {
  req.session.destroy(() => {
    res.send('退出成功');
  });
});

module.exports = router;
